<!-- HTML header for doxygen 1.8.10-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<title>NATS C Client with JetStream and Streaming support: Types</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="customdoxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;" >
   <div id="projectname">NATS C Client with JetStream and Streaming support
   &#160;<span id="projectnumber">3.10.0-beta</span>
   </div>
   <div id="projectbrief">The nats.io C Client, Supported by Synadia Communications Inc.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('group__micro_types.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle"><div class="title">Types<div class="ingroups"><a class="el" href="group__micro_group.html">- Microservices</a></div></div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga22c8eebaa1ca15ba0834b89cc1081130" id="r_ga22c8eebaa1ca15ba0834b89cc1081130"><td class="memItemLeft" align="right" valign="top">typedef struct micro_client_s&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#ga22c8eebaa1ca15ba0834b89cc1081130">microClient</a></td></tr>
<tr class="memdesc:ga22c8eebaa1ca15ba0834b89cc1081130"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Microservice client.  <br /></td></tr>
<tr class="separator:ga22c8eebaa1ca15ba0834b89cc1081130"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga550430b08d2e071e3901c6d720f4a039" id="r_ga550430b08d2e071e3901c6d720f4a039"><td class="memItemLeft" align="right" valign="top">typedef struct __for_forward_compatibility_only&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#ga550430b08d2e071e3901c6d720f4a039">microClientConfig</a></td></tr>
<tr class="memdesc:ga550430b08d2e071e3901c6d720f4a039"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Microservice configuration object. For forward compatibility only.  <br /></td></tr>
<tr class="separator:ga550430b08d2e071e3901c6d720f4a039"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea03a1fb23faec1d7919054b27acfbc3" id="r_gaea03a1fb23faec1d7919054b27acfbc3"><td class="memItemLeft" align="right" valign="top">typedef struct micro_endpoint_s&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#gaea03a1fb23faec1d7919054b27acfbc3">microEndpoint</a></td></tr>
<tr class="memdesc:gaea03a1fb23faec1d7919054b27acfbc3"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>microEndpoint</code> represents a microservice endpoint.  <br /></td></tr>
<tr class="separator:gaea03a1fb23faec1d7919054b27acfbc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7718d2f2c911e4cf677788f4ffe048cd" id="r_ga7718d2f2c911e4cf677788f4ffe048cd"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmicro__endpoint__config__s.html">micro_endpoint_config_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#ga7718d2f2c911e4cf677788f4ffe048cd">microEndpointConfig</a></td></tr>
<tr class="memdesc:ga7718d2f2c911e4cf677788f4ffe048cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Microservice endpoint configuration object.  <br /></td></tr>
<tr class="separator:ga7718d2f2c911e4cf677788f4ffe048cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd4fcc67087b4d5f42015a7269cb6496" id="r_gadd4fcc67087b4d5f42015a7269cb6496"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmicro__endpoint__info__s.html">micro_endpoint_info_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#gadd4fcc67087b4d5f42015a7269cb6496">microEndpointInfo</a></td></tr>
<tr class="memdesc:gadd4fcc67087b4d5f42015a7269cb6496"><td class="mdescLeft">&#160;</td><td class="mdescRight">static information about an endpoint.  <br /></td></tr>
<tr class="separator:gadd4fcc67087b4d5f42015a7269cb6496"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a429a5ecfff69b212a3ba9abebcba53" id="r_ga0a429a5ecfff69b212a3ba9abebcba53"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmicro__endpoint__stats__s.html">micro_endpoint_stats_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#ga0a429a5ecfff69b212a3ba9abebcba53">microEndpointStats</a></td></tr>
<tr class="memdesc:ga0a429a5ecfff69b212a3ba9abebcba53"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Microservice endpoint-level stats struct.  <br /></td></tr>
<tr class="separator:ga0a429a5ecfff69b212a3ba9abebcba53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41ae4121cf2f8e326369bbc2e44e20d7" id="r_ga41ae4121cf2f8e326369bbc2e44e20d7"><td class="memItemLeft" align="right" valign="top">typedef struct micro_error_s&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#ga41ae4121cf2f8e326369bbc2e44e20d7">microError</a></td></tr>
<tr class="memdesc:ga41ae4121cf2f8e326369bbc2e44e20d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">the Microservice error object.  <br /></td></tr>
<tr class="separator:ga41ae4121cf2f8e326369bbc2e44e20d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2681ea21e9f5f6681b972bbb67e32133" id="r_ga2681ea21e9f5f6681b972bbb67e32133"><td class="memItemLeft" align="right" valign="top">typedef struct micro_group_s&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#ga2681ea21e9f5f6681b972bbb67e32133">microGroup</a></td></tr>
<tr class="memdesc:ga2681ea21e9f5f6681b972bbb67e32133"><td class="mdescLeft">&#160;</td><td class="mdescRight">a collection of endpoints and other groups, with a common prefix to their subjects and names.  <br /></td></tr>
<tr class="separator:ga2681ea21e9f5f6681b972bbb67e32133"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ea3d2aa37d1e89fb9c6d87c10dfe603" id="r_ga8ea3d2aa37d1e89fb9c6d87c10dfe603"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmicro__group__config__s.html">micro_group_config_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#ga8ea3d2aa37d1e89fb9c6d87c10dfe603">microGroupConfig</a></td></tr>
<tr class="memdesc:ga8ea3d2aa37d1e89fb9c6d87c10dfe603"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Microservice endpoint <em>group</em> configuration object.  <br /></td></tr>
<tr class="separator:ga8ea3d2aa37d1e89fb9c6d87c10dfe603"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga417ace5dc09fe8a2f6fd3882302a37c4" id="r_ga417ace5dc09fe8a2f6fd3882302a37c4"><td class="memItemLeft" align="right" valign="top">typedef struct micro_request_s&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#ga417ace5dc09fe8a2f6fd3882302a37c4">microRequest</a></td></tr>
<tr class="memdesc:ga417ace5dc09fe8a2f6fd3882302a37c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">a request received by a microservice endpoint.  <br /></td></tr>
<tr class="separator:ga417ace5dc09fe8a2f6fd3882302a37c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf6f5aef8773b70746e84c100c2b19b28" id="r_gaf6f5aef8773b70746e84c100c2b19b28"><td class="memItemLeft" align="right" valign="top">typedef struct micro_service_s&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#gaf6f5aef8773b70746e84c100c2b19b28">microService</a></td></tr>
<tr class="memdesc:gaf6f5aef8773b70746e84c100c2b19b28"><td class="mdescLeft">&#160;</td><td class="mdescRight">the main object for a configured microservice.  <br /></td></tr>
<tr class="separator:gaf6f5aef8773b70746e84c100c2b19b28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e46c0657cf42e83b366d224f380fb55" id="r_ga1e46c0657cf42e83b366d224f380fb55"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmicro__service__config__s.html">micro_service_config_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#ga1e46c0657cf42e83b366d224f380fb55">microServiceConfig</a></td></tr>
<tr class="memdesc:ga1e46c0657cf42e83b366d224f380fb55"><td class="mdescLeft">&#160;</td><td class="mdescRight">The microservice configuration object.  <br /></td></tr>
<tr class="separator:ga1e46c0657cf42e83b366d224f380fb55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga033705d0404de94efb7a6444c6e91743" id="r_ga033705d0404de94efb7a6444c6e91743"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmicro__service__info__s.html">micro_service_info_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#ga033705d0404de94efb7a6444c6e91743">microServiceInfo</a></td></tr>
<tr class="memdesc:ga033705d0404de94efb7a6444c6e91743"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about a running microservice.  <br /></td></tr>
<tr class="separator:ga033705d0404de94efb7a6444c6e91743"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf832de937edc57bcc3af5e1456b3760c" id="r_gaf832de937edc57bcc3af5e1456b3760c"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmicro__service__stats__s.html">micro_service_stats_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#gaf832de937edc57bcc3af5e1456b3760c">microServiceStats</a></td></tr>
<tr class="memdesc:gaf832de937edc57bcc3af5e1456b3760c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Microservice service-level stats struct.  <br /></td></tr>
<tr class="separator:gaf832de937edc57bcc3af5e1456b3760c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:gab8c75a7c8001f647b5d2f27a0b26e82e" id="r_gab8c75a7c8001f647b5d2f27a0b26e82e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="nats_8h.html#a3bc1b3fe7f64083e60c7c3b93f205bad">NATS_EXTERN</a> <a class="el" href="group__micro_types.html#ga41ae4121cf2f8e326369bbc2e44e20d7">microError</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#gab8c75a7c8001f647b5d2f27a0b26e82e">micro_ErrorOutOfMemory</a></td></tr>
<tr class="separator:gab8c75a7c8001f647b5d2f27a0b26e82e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c15167de03a8d39553afb2b81caca6b" id="r_ga7c15167de03a8d39553afb2b81caca6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="nats_8h.html#a3bc1b3fe7f64083e60c7c3b93f205bad">NATS_EXTERN</a> <a class="el" href="group__micro_types.html#ga41ae4121cf2f8e326369bbc2e44e20d7">microError</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__micro_types.html#ga7c15167de03a8d39553afb2b81caca6b">micro_ErrorInvalidArg</a></td></tr>
<tr class="separator:ga7c15167de03a8d39553afb2b81caca6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Microservice types. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga22c8eebaa1ca15ba0834b89cc1081130" name="ga22c8eebaa1ca15ba0834b89cc1081130"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga22c8eebaa1ca15ba0834b89cc1081130">&#9670;&#160;</a></span>microClient</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct micro_client_s <a class="el" href="group__micro_types.html#ga22c8eebaa1ca15ba0834b89cc1081130">microClient</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Initialize with <a class="el" href="group__micro_client_functions.html#ga191be60c4f9bb88f83f73b5ce4e5e0bd" title="Creates a new microservice client.">micro_NewClient</a> and destroy with <a class="el" href="group__micro_client_functions.html#ga62a528edb67328bd7c478b6338656e1a" title="Destroys a microservice client.">microClient_Destroy</a>.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__micro_client_functions.html#ga191be60c4f9bb88f83f73b5ce4e5e0bd" title="Creates a new microservice client.">micro_NewClient</a>, <a class="el" href="group__micro_client_functions.html#ga62a528edb67328bd7c478b6338656e1a" title="Destroys a microservice client.">microClient_Destroy</a> </dd></dl>

</div>
</div>
<a id="ga550430b08d2e071e3901c6d720f4a039" name="ga550430b08d2e071e3901c6d720f4a039"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga550430b08d2e071e3901c6d720f4a039">&#9670;&#160;</a></span>microClientConfig</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct __for_forward_compatibility_only <a class="el" href="group__micro_types.html#ga550430b08d2e071e3901c6d720f4a039">microClientConfig</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="gaea03a1fb23faec1d7919054b27acfbc3" name="gaea03a1fb23faec1d7919054b27acfbc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaea03a1fb23faec1d7919054b27acfbc3">&#9670;&#160;</a></span>microEndpoint</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct micro_endpoint_s <a class="el" href="group__micro_types.html#gaea03a1fb23faec1d7919054b27acfbc3">microEndpoint</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The only place where this struct is used by the user is in callbacks, to identify which endpoint was called, or caused an error.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__micro_callbacks.html#gab465a9b31672c63738e8f6b0a61c2e90" title="Callback type for request processing.">microRequestHandler</a>, <a class="el" href="group__micro_callbacks.html#ga7a40fbbb9b1102f0a7679f9dfcf6c0d6" title="Callback type for async error notifications.">microErrorHandler</a>, <a class="el" href="group__micro_types.html#ga1e46c0657cf42e83b366d224f380fb55" title="The microservice configuration object.">microServiceConfig</a>, <a class="el" href="group__micro_types.html#ga7718d2f2c911e4cf677788f4ffe048cd" title="The Microservice endpoint configuration object.">microEndpointConfig</a> </dd></dl>

</div>
</div>
<a id="ga7718d2f2c911e4cf677788f4ffe048cd" name="ga7718d2f2c911e4cf677788f4ffe048cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7718d2f2c911e4cf677788f4ffe048cd">&#9670;&#160;</a></span>microEndpointConfig</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmicro__endpoint__config__s.html">micro_endpoint_config_s</a> <a class="el" href="group__micro_types.html#ga7718d2f2c911e4cf677788f4ffe048cd">microEndpointConfig</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structmicro__endpoint__config__s.html">micro_endpoint_config_s</a> for descriptions of the fields, <a class="el" href="structmicro__service__config__s.html" title="The Microservice top-level configuration object.">micro_service_config_s</a>, <a class="el" href="group__micro_types.html#ga1e46c0657cf42e83b366d224f380fb55" title="The microservice configuration object.">microServiceConfig</a>, <a class="el" href="group__micro_service_functions.html#gadcab5687b72ec24ef7ae647ea844ebc7" title="Adds an endpoint to a microservice and starts listening for messages.">microService_AddEndpoint</a>, <a class="el" href="group__micro_group_functions.html#gabc9641ad7ee7775c388c864f2ffa6883" title="Adds an endpoint to a microGroup and starts listening for messages.">microGroup_AddEndpoint</a> </dd></dl>

</div>
</div>
<a id="gadd4fcc67087b4d5f42015a7269cb6496" name="gadd4fcc67087b4d5f42015a7269cb6496"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadd4fcc67087b4d5f42015a7269cb6496">&#9670;&#160;</a></span>microEndpointInfo</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmicro__endpoint__info__s.html">micro_endpoint_info_s</a> <a class="el" href="group__micro_types.html#gadd4fcc67087b4d5f42015a7269cb6496">microEndpointInfo</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>microEndpointInfo is returned by microService_GetInfo function, as part of microServiceInfo. It is also accessible by sending a <code>$SRV.INFO.&lt;service-name&gt;[.&lt;id&gt;]</code> request to the service. See <a class="el" href="structmicro__endpoint__info__s.html">micro_endpoint_info_s</a> for descriptions of the fields.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structmicro__endpoint__info__s.html">micro_endpoint_info_s</a>, <a class="el" href="structmicro__service__info__s.html">micro_service_info_s</a>, <a class="el" href="group__micro_service_functions.html#gae7f5d4bde8ac12bde5ad48cebfad9e25" title="Returns a microServiceInfo for a microservice.">microService_GetInfo</a> </dd></dl>

</div>
</div>
<a id="ga0a429a5ecfff69b212a3ba9abebcba53" name="ga0a429a5ecfff69b212a3ba9abebcba53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0a429a5ecfff69b212a3ba9abebcba53">&#9670;&#160;</a></span>microEndpointStats</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmicro__endpoint__stats__s.html">micro_endpoint_stats_s</a> <a class="el" href="group__micro_types.html#ga0a429a5ecfff69b212a3ba9abebcba53">microEndpointStats</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returned as part of microEndpointStats. See <a class="el" href="structmicro__endpoint__stats__s.html">micro_endpoint_stats_s</a> for descriptions of the fields.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structmicro__endpoint__stats__s.html">micro_endpoint_stats_s</a>, <a class="el" href="group__micro_types.html#gaf832de937edc57bcc3af5e1456b3760c" title="The Microservice service-level stats struct.">microServiceStats</a>, <a class="el" href="group__micro_service_functions.html#ga19b3b7126a1e2472a4970fc16b2f9fb4" title="Returns run-time statistics for a microservice.">microService_GetStats</a> </dd></dl>

</div>
</div>
<a id="ga41ae4121cf2f8e326369bbc2e44e20d7" name="ga41ae4121cf2f8e326369bbc2e44e20d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga41ae4121cf2f8e326369bbc2e44e20d7">&#9670;&#160;</a></span>microError</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct micro_error_s <a class="el" href="group__micro_types.html#ga41ae4121cf2f8e326369bbc2e44e20d7">microError</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This error type is returned by most microservice functions. You can create your own custom errors by using <a class="el" href="group__micro_error_functions.html#ga7732a5a63c3b452f8d78f4e41e726fe1" title="creates a new microError, with a printf-like formatted message.">micro_Errorf</a> and wrap existing errors using <a class="el" href="group__micro_error_functions.html#gad43118a9e9e48aefbde3b21c4bd9d36f" title="Wraps an exising microError with a higher printf-like formatted message.">microError_Wrapf</a>. Errors are heap-allocated and must be freed with either <a class="el" href="group__micro_error_functions.html#ga1bf0dc7e647ffd431bdca222d9246f07" title="destroys a microError.">microError_Destroy</a> or by passing it into <a class="el" href="group__micro_request_functions.html#ga9c50e895154b151d3c9dadd3502b80f9" title="Respond to a request, on the same NATS connection.">microRequest_Respond</a>.</p>
<p>There are no public fields in this struct, use <a class="el" href="group__micro_error_functions.html#ga69edae8121c8a5a093c76ee2662bae54" title="returns the int code of the error.">microError_Code</a>, <a class="el" href="group__micro_error_functions.html#ga2648fe981670c5394bd058128ef6478c" title="Returns the NATS status associated with the error.">microError_Status</a>, and <a class="el" href="group__micro_error_functions.html#ga9694838e69616612ef98afe7a45cb58d" title="Returns a printable string with the error message.">microError_String</a> to get more information about the error. </p>

</div>
</div>
<a id="ga2681ea21e9f5f6681b972bbb67e32133" name="ga2681ea21e9f5f6681b972bbb67e32133"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2681ea21e9f5f6681b972bbb67e32133">&#9670;&#160;</a></span>microGroup</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct micro_group_s <a class="el" href="group__micro_types.html#ga2681ea21e9f5f6681b972bbb67e32133">microGroup</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>It has no other purpose than convenience, for organizing endpoint subject space. </p>

</div>
</div>
<a id="ga8ea3d2aa37d1e89fb9c6d87c10dfe603" name="ga8ea3d2aa37d1e89fb9c6d87c10dfe603"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8ea3d2aa37d1e89fb9c6d87c10dfe603">&#9670;&#160;</a></span>microGroupConfig</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmicro__group__config__s.html">micro_group_config_s</a> <a class="el" href="group__micro_types.html#ga8ea3d2aa37d1e89fb9c6d87c10dfe603">microGroupConfig</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structmicro__group__config__s.html" title="The Microservice endpoint group configuration object.">micro_group_config_s</a> for descriptions of the fields, <a class="el" href="structmicro__service__config__s.html" title="The Microservice top-level configuration object.">micro_service_config_s</a>, <a class="el" href="structmicro__service__config__s.html" title="The Microservice top-level configuration object.">micro_service_config_s</a>, <a class="el" href="group__micro_service_functions.html#ga26c62ec5b8ed46e1503bb62d8b066d9c" title="Adds an group (prefix) to a microservice.">microService_AddGroup</a> </dd></dl>

</div>
</div>
<a id="ga417ace5dc09fe8a2f6fd3882302a37c4" name="ga417ace5dc09fe8a2f6fd3882302a37c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga417ace5dc09fe8a2f6fd3882302a37c4">&#9670;&#160;</a></span>microRequest</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct micro_request_s <a class="el" href="group__micro_types.html#ga417ace5dc09fe8a2f6fd3882302a37c4">microRequest</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd>micro_request_s for descriptions of the fields. </dd></dl>

</div>
</div>
<a id="gaf6f5aef8773b70746e84c100c2b19b28" name="gaf6f5aef8773b70746e84c100c2b19b28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf6f5aef8773b70746e84c100c2b19b28">&#9670;&#160;</a></span>microService</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct micro_service_s <a class="el" href="group__micro_types.html#gaf6f5aef8773b70746e84c100c2b19b28">microService</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>It can be created with <a class="el" href="group__micro_service_functions.html#ga2986a9751147b6f77064b5739635c2c1" title="Creates and starts a new microservice.">micro_AddService</a>, and configured by passing a microServiceConfig to it. Once no longer needed, a microservice should be destroyed with microService_Destroy.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__micro_service_functions.html#ga2986a9751147b6f77064b5739635c2c1" title="Creates and starts a new microservice.">micro_AddService</a>, <a class="el" href="group__micro_types.html#ga1e46c0657cf42e83b366d224f380fb55" title="The microservice configuration object.">microServiceConfig</a>, <a class="el" href="group__micro_types.html#ga7718d2f2c911e4cf677788f4ffe048cd" title="The Microservice endpoint configuration object.">microEndpointConfig</a>, <a class="el" href="group__micro_service_functions.html#ga32ff6b2fb38eafb4df8e6b1039ee5984" title="Destroys a microservice, stopping it first if needed.">microService_Destroy</a>, <a class="el" href="group__micro_service_functions.html#ga35de7172dac67472ac3890bc955b9b42" title="Stops a running microservice.">microService_Stop</a>, <a class="el" href="group__micro_service_functions.html#gac829b81893f09b1ed7c401147ed6b0c0" title="Checks if the service is stopped.">microService_IsStopped</a>, <a class="el" href="group__micro_service_functions.html#gaecde4e29e2b963e73fe4a8ff2fce064a" title="Waits for a microservice to stop.">microService_Run</a> </dd></dl>

</div>
</div>
<a id="ga1e46c0657cf42e83b366d224f380fb55" name="ga1e46c0657cf42e83b366d224f380fb55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1e46c0657cf42e83b366d224f380fb55">&#9670;&#160;</a></span>microServiceConfig</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmicro__service__config__s.html">micro_service_config_s</a> <a class="el" href="group__micro_types.html#ga1e46c0657cf42e83b366d224f380fb55">microServiceConfig</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The service is created with a clone of the config and all of its values, so the original can be freed or modified after calling <a class="el" href="group__micro_service_functions.html#ga2986a9751147b6f77064b5739635c2c1" title="Creates and starts a new microservice.">micro_AddService</a>. See <a class="el" href="structmicro__service__config__s.html" title="The Microservice top-level configuration object.">micro_service_config_s</a> for descriptions of the fields.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structmicro__service__config__s.html" title="The Microservice top-level configuration object.">micro_service_config_s</a> </dd></dl>

</div>
</div>
<a id="ga033705d0404de94efb7a6444c6e91743" name="ga033705d0404de94efb7a6444c6e91743"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga033705d0404de94efb7a6444c6e91743">&#9670;&#160;</a></span>microServiceInfo</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmicro__service__info__s.html">micro_service_info_s</a> <a class="el" href="group__micro_types.html#ga033705d0404de94efb7a6444c6e91743">microServiceInfo</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>microServiceInfo is the struct returned by microService_GetInfo function. It is also accessible by sending a <code>$SRV.INFO.&lt;service-name&gt;[.&lt;id&gt;]</code> request to the service. See <a class="el" href="structmicro__service__info__s.html">micro_service_info_s</a> for descriptions of the fields.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structmicro__service__info__s.html">micro_service_info_s</a>, <a class="el" href="group__micro_service_functions.html#gae7f5d4bde8ac12bde5ad48cebfad9e25" title="Returns a microServiceInfo for a microservice.">microService_GetInfo</a> </dd></dl>

</div>
</div>
<a id="gaf832de937edc57bcc3af5e1456b3760c" name="gaf832de937edc57bcc3af5e1456b3760c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf832de937edc57bcc3af5e1456b3760c">&#9670;&#160;</a></span>microServiceStats</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmicro__service__stats__s.html">micro_service_stats_s</a> <a class="el" href="group__micro_types.html#gaf832de937edc57bcc3af5e1456b3760c">microServiceStats</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structmicro__service__stats__s.html">micro_service_stats_s</a> for descriptions of the fields, <a class="el" href="group__micro_service_functions.html#ga19b3b7126a1e2472a4970fc16b2f9fb4" title="Returns run-time statistics for a microservice.">microService_GetStats</a> </dd></dl>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="gab8c75a7c8001f647b5d2f27a0b26e82e" name="gab8c75a7c8001f647b5d2f27a0b26e82e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab8c75a7c8001f647b5d2f27a0b26e82e">&#9670;&#160;</a></span>micro_ErrorOutOfMemory</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="nats_8h.html#a3bc1b3fe7f64083e60c7c3b93f205bad">NATS_EXTERN</a> <a class="el" href="group__micro_types.html#ga41ae4121cf2f8e326369bbc2e44e20d7">microError</a>* micro_ErrorOutOfMemory</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ga7c15167de03a8d39553afb2b81caca6b" name="ga7c15167de03a8d39553afb2b81caca6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7c15167de03a8d39553afb2b81caca6b">&#9670;&#160;</a></span>micro_ErrorInvalidArg</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="nats_8h.html#a3bc1b3fe7f64083e60c7c3b93f205bad">NATS_EXTERN</a> <a class="el" href="group__micro_types.html#ga41ae4121cf2f8e326369bbc2e44e20d7">microError</a>* micro_ErrorInvalidArg</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.10-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">NATS.IO Supported By Synadia Communications Inc.
    <a href="http://www.nats.io">
    </a></li>
  </ul>
</div>
</body>
</html>
